


$(function() {
	//取出在cookie中存的购物车信息
	var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
	
	if(!cartStr) {
		$(".car").css({
			display: "block"
		});
	} else {
		var cartObj = convertCartStrToObj(cartStr);
		//遍历所有的商品生成html添加到购物车列表中去

		var str = '<div class="wrap ie78">'+
				'<div class="title"><span class="tit">购物车</span></div>'+
				'<div class="comment_box"><table><tr>'+
				'<th align="left"><label class="checkbox checked"><i class="openIcon"></i></label><span>全选</span></th>'+
				'<th align="left">商品信息</th><th>单价</th><th>数量</th><th>小计</th><th>操作</th>'+
				'</tr></table></div>'+	
				'<div class="shoppingBox"></div>'+
				'<div class="firmbox"><div class="lineH30 clearfix"><div class="f_l">'+
				'<label class="checkbox checked"><i class="openIcon"></i></label><span>全选</span>'+
				'<a id="a_BatchDel" href="javascript:;">删除</a></div>'+
				'<div class="f_r">商品总价：<span id="totalPrice" class="totalPrice"></span></div>'+
				'<span class="inline f_r">商品总数：<em id="totalNum" class="totalNum"></em></span></div></div>'+
				'<div class="tallyBox"><a class="goonShopping" href="list.html">继续购物</a>'+
				'<a class="tallyBtnPos" href="javascript:;">结算</a>'+
				'<p class="t_r">合计：<span></span></p></div></div>';
			$(str).appendTo(".pd_b40");
			
		for(var id in cartObj) {
			//商品信息对象
			var good = cartObj[id];
			//console.log(good.size)
			var str1 = '<div class="shopBox" data-good-id="' + id + '"><div class="order_title">'+	
				'<label class="checkbox checked"><i class="openIcon"></i></label>'+
				'<a><span>商家：</span><span>亓口男装</span></a></div>'+
				'<table class="sop_table1"><tr><td><label class="checkbox checked"><i class="openIcon"></i></label></td>'+
				'<td align="left"><span><a href="#" target="_blank"> <img src="'+good.src+'"> </a></span></td>'+
				'<td align="left"><a href="#"><span>'+good.name+'</span></a>'+
				'<div class="col">尺寸：'+good.size+'</div></td>'+
				'<td class="ff66" align="center">￥'+good.price+'</td>'+
				'<td class="sizeZero" align="center"><i class="sign minus"></i>'+
				'<input class="inpCom" type="text" value="' + good.num + '" /><i class="sign plus"></i></td>'+
				'<td class="total" align="center"><strong>￥'+good.price*good.num+'</strong></td>'+
				'<td align="center"><a id="deleteLink" class="link_09c" href="javascript:;"></a></td>'+
				'</tr></table></div>';
				
					
			//将上面的结构添加到cartList中去
			$(str1).appendTo(".shoppingBox");
			
			//商品总数
			total();
		}
		
			
		//选框
		$(".checkbox").click(function(){
			$(this).toggleClass("checked")
		})
		//给每个商品添加从购物车删除的事件
		$('#deleteLink').click(function() {
			//在页面上将商品信息删除，顺便获取一个该商品的id
			var id = $(this).parents(".shopBox").remove().attr("data-good-id");
			//console.log(id)
			//从cookie中将该商品删除
			var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
			var cartObj = convertCartStrToObj(cartStr);

			delete cartObj[id];
			
			//将新商品信息放回cookie
			$.cookie('cart', convertObjToCartStr(cartObj), {
				expires: 7,
				path: "/"
			});
		})

		//给增加按钮添加事件
		$(".sizeZero i.plus").click(function() {
			
			var id = $(this).parents(".shopBox").attr("data-good-id");
			//console.log(id)
			var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
			var cartObj = convertCartStrToObj(cartStr);
			cartObj[id].num += 1;
			//将页面上显示的数量加1
			$(this).siblings("input").val("" + cartObj[id].num);
			//更新页面上的小计
			$(this).parent().siblings('.total').html("￥"+cartObj[id].num * cartObj[id].price + "");
			//console.log($(this).parents(".ie78").children().children().children().children(".totalNum"))
			
			//将信息放回cookie
			$.cookie('cart', convertObjToCartStr(cartObj), {
				expires: 7,
				path: "/"
			});
			total();
		});
		//给减按钮添加点击事件
		$(".sizeZero i.minus").click(function(){
			var id = $(this).parents(".shopBox").attr("data-good-id");
			var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
			var cartObj = convertCartStrToObj(cartStr);
			if(cartObj[id].num > 1){ //商品数量减少不能少于1
				cartObj[id].num -= 1;
				//将页面上显示的数量减1
				$(this).siblings("input").val("" + cartObj[id].num);
				//更新页面上的小计
				$(this).parent().siblings('.total').html("￥"+cartObj[id].num * cartObj[id].price + "");
				
				//将信息放回cookie
				$.cookie('cart', convertObjToCartStr(cartObj), {
					expires: 7,
					path: "/"
				});
			}
			total();
		});
		
		//改数量的input绑定一个blur事件
		$(".sizeZero input").blur(function(){
			var id = $(this).parents(".shopBox").attr("data-good-id");
			var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
			var cartObj = convertCartStrToObj(cartStr);
			//判断用户输入是否合法
			var pattern = /^\d+$/;
			if(!pattern.test($(this).val())){
				cartObj[id].num = 1;
				$(this).val("1");
			}else{
				//修改一下数量
			cartObj[id].num = parseInt($(this).val());
			}
			
			
				$(this).siblings("input").val("" + cartObj[id].num);
				//更新页面上的小计
				$(this).parent().siblings('.total').html(cartObj[id].num * cartObj[id].price + "");
				//将信息放回cookie
				$.cookie('cart', convertObjToCartStr(cartObj), {
					expires: 7,
					path: "/"
				});
		})
				
		
	}

});

function total(){
	var num1 = 0;
	var sum = 0;
	var cartStr = $.cookie("cart") ? $.cookie("cart") : "";
	var cartObj = convertCartStrToObj(cartStr);
	for(var id in cartObj){
		num1 += parseFloat(cartObj[id].num) ;
		sum += parseFloat(cartObj[id].price*num1)
		
			$(".totalNum").html(num1);
			$("#shopCar").html(num1);
			$(".totalPrice").html("￥"+sum);
			$(".t_r span").html("￥"+sum);
	}
}


function convertCartStrToObj(cartStr) {
	
	//如果是空字符串，即没有购物车信息，那么购物车为空，直接返回一个空对象
	if(!cartStr) {
		return {};
	}
	var goods = cartStr.split(":");
	var obj = {};
	for(var i = 0; i < goods.length; i++) {
		var data = goods[i].split(",");
		//以商品的id为健，商品的其他信息为值，这个值也设计为一个对象
		obj[data[0]] = {
			name: data[1],
			price: parseFloat(data[2]),
			num: parseInt(data[3]),
			src: data[4],
			size: data[5]
		}
	}
	return obj;
}

function convertObjToCartStr(obj) {
	
	var cartStr = "";
	for(var id in obj) {
		if(cartStr) {
			cartStr += ":";
		}
		cartStr += id + "," + obj[id].name + "," + obj[id].price + "," + obj[id].num + "," + obj[id].src+","+obj[id].size;
	}
	return cartStr;
}
